Skip to main content

로그 이력에 AMS로그 포함 패치 방법

기존에는 문서보안의 로그만 조회가 가능하였으나 승인반출시스템에서 해제한 로그도 포함이 필요함에 따라 AMS로그도 추가하도록 개발되어 패치 방법을 가이드 합니다.

1. ElasticSearch 패치

1.1. softcamp-ams-logs인덱스 만들기

softcamp-ams-logs-setting.json 파일 본문 내용

OS마다 스크립트가 다르기 때문에 주의 필요

{
"settings": {
"index": {
"number_of_shards": "4",
"number_of_replicas": "0",
"analysis": {
"analyzer": {
"korean": {
"type": "custom",
"tokenizer": "seunjeon_default_tokenizer",
"filter": ["trim", "lowercase", "stop", "kstem"]
},
"korean_filename": {
"type": "custom",
"tokenizer": "seunjeon_default_tokenizer",
"filter": ["trim", "lowercase", "stop", "kstem", "filename"]
}
},
"tokenizer": {
"seunjeon_default_tokenizer": {
"type": "seunjeon_tokenizer",
"user_words": [
"낄끼+빠빠,-100",
"c\\+\\+",
"어그로",
"버카충",
"abc마트"
],
"index_eojeol": "false"
}
},
"filter": {
"filename": {
"type": "pattern_capture",
"preserve_original" : 1,
"patterns" : ["([^\\.^_]+)", "\\.(.+)", "_(.+)"]
}
}
}
}
},
"mappings": {
"amslog_info": {
"properties": {
"NUM": {
"type": "keyword"
},
"USER_ID": {
"type": "keyword"
},
"USER_NAME": {
"type": "keyword"
},
"WRITE_DATE": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss"
},
"APPROVAL_ID": {
"type": "keyword"
},
"APPROVAL_NAME": {
"type": "keyword"
},
"APPROVAL_TIME": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss"
},
"APPROVAL_TYPE": {
"type": "integer"
},
"APPROVL_TYPE_NAME": {
"type": "text",
"analyzer": "korean"
},
"TITLE": {
"type": "text",
"analyzer": "korean"
},
"DESTINATION": {
"type": "text",
"analyzer": "korean"
},
"CONTENT": {
"type": "text",
"analyzer": "korean"
},
"ENCRYPT_TYPE": {
"type": "keyword"
},
"ENCRYPT_TYPE_NAME": {
"type": "text",
"analyzer": "korean"
},
"ENCRYPT_POLICY": {
"type": "text"
},
"DOWNLOAD_ENDDATE": {
"type": "integer"
},
"DOWNLOAD_COUNT": {
"type": "integer"
},
"FILECOUNT": {
"type": "integer"
},
"UPLOADFILE_NAME": {
"type": "text",
"analyzer": "korean_filename"
},
"UPLOADFILE_SIZE": {
"type": "long"
},
"CONFORM_CONTENT": {
"type": "text",
"analyzer": "korean"
},
"REJECT_CONTENT": {
"type": "text",
"analyzer": "korean"
},
"APPROVAL_STATE": {
"type": "text"
},
"TOPGROUP_ID": {
"type": "text"
},
"TOPGROUP_NAME": {
"type": "text"
},
"APPROVALSTEAD_NUM": {
"type": "text"
},
"APPROVALSTEAD_ID": {
"type": "text"
},
"APPROVALSTEAD_NAME": {
"type": "text"
},
"APPR_INFO_SEND": {
"type": "text"
},
"LATEAPPROVAL_FLAG": {
"type": "text"
},
"VIEWCOUNT": {
"type": "integer"
},
"NOTIFYINFO": {
"type": "text"
},
"APPROVAL_STEP": {
"type": "integer"
},
"APPROVAL_LASTSTEP": {
"type": "integer"
},
"PRIVATEDATA_COUNT": {
"type": "integer"
},
"EXTENDAPPROVAL_TYPE": {
"type": "text"
},
"EXTENDAPPROVAL_PERIOD": {
"type": "integer"
},
"EXTENDAPPROVAL_EXPIREDATE": {
"type": "text"
},
"EXTENDAPPROVAL_CANCEL": {
"type": "text"
},
"SPARE1": {
"type": "text"
},
"SPARE2": {
"type": "text"
},
"SPARE3": {
"type": "text"
},
"SPARE4": {
"type": "text"
},
"SPARE5": {
"type": "text"
},
"SENDMAIL_USE": {
"type": "text"
},
"EXTENDAPPROVAL_STARTDATE": {
"type": "text"
},
"GROUP_ID": {
"type": "text"
},
"GROUP_NAME": {
"type": "text"
},
"EXTDRM_USE": {
"type": "text"
},
"GROUP_PATH": {
"type": "text",
"analyzer": "korean"
},
"USERACCESS_IP": {
"type": "text"
},
"EXTERNAL_LOGID": {
"type": "text"
},
"EXTRA_INFO": {
"type": "text"
}
}
}
}
}

1.1.1 softcamp-ams-logs-setting.json 파일 본문 내용을 복사하여 노트패드등에 붙여넣기 한다.(저장시 인코딩은 UTF-8로 한다)

1.1.2 생성된 softcamp-ams-logs-setting.json 파일을 서버에 업로드 한다.

1.1.3 업로드된 디렉토리로 이동하여 명령어를 실행한다.

curl -XPUT localhost:9200/softcamp-ams-logs?pretty=true -d @softcamp-ams-logs-setting.json -H "Content-Type:application/json"

1.1.4 결과를 확인한다.

결과메시지
{
"acknowledged" : true,
"shards_acknowledged" : true
}

1.2. ams인덱스 정보 추가

1.2.1. LogViewer/data/logViewer/conf/elasticSearch.properties 파일 편집

1.2.2. es.types.indies의 항목 맨 뒤에 ams인덱스 정보 추가

추가 값
|amslog_info^softcamp-ams-logs

최종 값 : es.types.indies = dslog_info^softcamp-ds-logs-|userlog_info^softcamp-user-logs-|maxeon_log^softcamp-mx-logs|mx_folder_status^softcamp-mx-folder-size|managerlog_info^softcamp-manager-logs-*|amslog_info^softcamp-ams-logs

2. LogStash 파일 및 설정 추가

2.1. 설치경로/LogViewer/app/ELK/logstash-5.5.0/last_run/ 경로로 이동한다.

2.2. logstash_jdbc_amslog_last_run.txt 파일을 생성 한다.

vi logstash_jdbc_amslog_last_run.txt
logstash_jdbc_amslog_last_run.txt 파일 본문에 내용 추가
--- '2020-01-01 00:00:00'

지정된 날짜 이후의 데이터가 엘라스틱서치에 저장됨.

2.3. logstash 서비스 중지

2.3.1. logstash 서비스 찾기 명령어

ps -ef |grep logstash

Alt text

2.3.2. logstash 서비스 종료 명령어 (위 샘플에서 PID는 906)

kill -9 PID

2.4. 설치경로/LogViewer/app/ELK/logstash-5.5.0로 이동

2.5. DB에서 정보를 가지고 오는 conf파일 추가(input과 output에 각 항목 신규 추가필요)

mariadb conf의 input에 내용 추가

경로 및 계정정보는 고객사에 맞게 수정 필요


jdbc {
jdbc_validate_connection => true
jdbc_driver_library => "/APP/LogViewer/app/ELK/logstash-5.5.0/jdbc/mariadb-java-client-2.2.5.jar"
jdbc_driver_class => "org.mariadb.jdbc.Driver"
jdbc_connection_string => "jdbc:mariadb://10.50.10.201:3306/amsdb"
jdbc_user => "amsadmin"
jdbc_password => "ams1q2w3e4r"
lowercase_column_names => false
sql_log_level => "warn"
statement => "SELECT
A.Num AS NUM
, IFNULL(A.User_ID, '') AS USER_ID
, IFNULL(A.User_Name, '') AS USER_NAME
, DATE_FORMAT(A.Write_Date, '%Y-%m-%d %H:%i:%s') AS WRITE_DATE
, IFNULL(A.Approval_ID, '') AS APPROVAL_ID
, IFNULL(A.Approval_Name, '') AS APPROVAL_NAME
, DATE_FORMAT(A.Approval_Time, '%Y-%m-%d %H:%i:%s') AS APPROVAL_TIME
, IFNULL(A.Approval_Type, '') AS APPROVAL_TYPE
, IFNULL(C.Type, '') AS APPROVL_TYPE_NAME
, IFNULL(A.Title, '') AS TITLE
, IFNULL(A.Destination, '') AS DESTINATION
, IFNULL(A.Content, '') AS CONTENT
, IFNULL(A.Encrypt_Type, '') AS ENCRYPT_TYPE
, IFNULL(D.Sys_Name, '') AS ENCRYPT_TYPE_NAME
, IFNULL(A.Encrypt_Policy, '') AS ENCRYPT_POLICY
, IFNULL(A.Download_EndDate, '') AS DOWNLOAD_ENDDATE
, IFNULL(B.DownLoad_Count, '') AS DOWNLOAD_COUNT
, IFNULL(A.FileCount, '') AS FILECOUNT
, IFNULL(B.UploadFile_Name, '') AS UPLOADFILE_NAME
, IFNULL(B.UploadFile_Size, '') AS UPLOADFILE_SIZE
, IFNULL(A.Conform_Content, '') AS CONFORM_CONTENT
, IFNULL(A.Reject_Content, '') AS REJECT_CONTENT
, IFNULL(A.Approval_State, '') AS APPROVAL_STATE
, IFNULL(A.TopGroup_ID, '') AS TOPGROUP_ID
, IFNULL(A.TopGroup_Name, '') AS TOPGROUP_NAME
, IFNULL(A.ApprovalStead_Num, '') AS APPROVALSTEAD_NUM
, IFNULL(A.ApprovalStead_ID, '') AS APPROVALSTEAD_ID
, IFNULL(A.ApprovalStead_Name, '') AS APPROVALSTEAD_NAME
, IFNULL(A.APPR_INFO_SEND, '') AS APPR_INFO_SEND
, IFNULL(A.LateApproval_Flag, '') AS LATEAPPROVAL_FLAG
, IFNULL(A.ViewCount, '') AS VIEWCOUNT
, IFNULL(A.NotifyInfo, '') AS NOTIFYINFO
, IFNULL(A.Approval_Step, '') AS APPROVAL_STEP
, IFNULL(A.Approval_LastStep, '') AS APPROVAL_LASTSTEP
, IFNULL(A.PrivateData_Count, '') AS PRIVATEDATA_COUNT
, IFNULL(A.ExtendApproval_Type, '') AS EXTENDAPPROVAL_TYPE
, IFNULL(A.ExtendApproval_Period, '') AS EXTENDAPPROVAL_PERIOD
, IFNULL(A.ExtendApproval_ExpireDate, '') AS EXTENDAPPROVAL_EXPIREDATE
, IFNULL(A.ExtendApproval_Cancel, '') AS EXTENDAPPROVAL_CANCEL
, IFNULL(A.Spare1, '') AS SPARE1
, IFNULL(A.Spare2, '') AS SPARE2
, IFNULL(A.Spare3, '') AS SPARE3
, IFNULL(A.Spare4, '') AS SPARE4
, IFNULL(A.Spare5, '') AS SPARE5
, IFNULL(A.SendMail_Use, '') AS SENDMAIL_USE
, IFNULL(A.ExtendApproval_StartDate, '') AS EXTENDAPPROVAL_STARTDATE
, IFNULL(A.Group_ID, '') AS GROUP_ID
, IFNULL(A.Group_Name, '') AS GROUP_NAME
, IFNULL(A.ExtDRM_Use, '') AS EXTDRM_USE
, IFNULL(A.Group_Path, '') AS GROUP_PATH
, IFNULL(A.UserAccess_Ip, '') AS USERACCESS_IP
, IFNULL(A.External_LogID, '') AS EXTERNAL_LOGID
, IFNULL(A.Extra_Info, '') AS EXTRA_INFO
FROM
Approval_Info A
LEFT OUTER JOIN UploadFile_Info B ON A.Num = B.Approval_Num
LEFT OUTER JOIN ApprovalType_info C ON A.Approval_Type = C.Num
LEFT OUTER JOIN System_Info_Detail D ON A.Encrypt_Type = D.Sys_Cd
WHERE
A.APPROVAL_STATE = 'C'
AND DATE_FORMAT(A.Write_Date, '%Y-%m-%d %H:%i:%s') > :sql_last_value
ORDER BY WRITE_DATE ASC"
jdbc_fetch_size => 10000
type => "amslog_info"
use_column_value => true
tracking_column => "WRITE_DATE"
record_last_run => true
last_run_metadata_path => "/APP/LogViewer/app/ELK/logstash-5.5.0/last_run/logstash_jdbc_amslog_last_run.txt"
schedule => "*/1 * * * *"
}

mariadb conf의 output에 내용 추가

else if [type] == "amslog_info" {
elasticsearch {
hosts => "127.0.0.1:9200"
manage_template => false
index => "softcamp-ams-logs"
document_type => "amslog_info"
}
}

3. 정책 추가

3.1. 설치경로/LogViewer/data/logViewer/JSON/logViewer.json 파일을 편집한다.

logViewer.json 파일 본문에 내용 추가
"ams_log_use": "Y"

json 하위에 추가한다.

4. 신규 JSON설정 파일 추가

json파일을 생성하여 각 위치에 추가 한다

4.1. header json 파일 : 설치위치/LogViewer/data/logViewer/JSON/header/amslog_info.json

header경로의 json파일 내용
{
"amslog_info": {
"ko": [
{
"header_id": "num",
"header_nm": "결재번호",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "user_id",
"header_nm": "사용자 아이디",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "user_name",
"header_nm": "사용자 이름",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "write_date",
"header_nm": "작성일",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approval_id",
"header_nm": "결재자 아이디",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approval_name",
"header_nm": "결재자 이름",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approval_time",
"header_nm": "결재 완료 시간",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approval_type",
"header_nm": "반출유형 코드",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approvl_type_name",
"header_nm": "반출유형 이름",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "title",
"header_nm": "제목",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "destination",
"header_nm": "반출처",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "content",
"header_nm": "반출 사유",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "encrypt_type",
"header_nm": "요청방법 코드",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "encrypt_type_name",
"header_nm": "요청방법 이름",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "encrypt_policy",
"header_nm": "암호화 정책",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "download_enddate",
"header_nm": "다운로드 기한(일)",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "download_count",
"header_nm": "다운로드 횟수",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "filecount",
"header_nm": "파일 개수",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "uploadfile_name",
"header_nm": "파일명",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "uploadfile_size",
"header_nm": "파일 크기",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "conform_content",
"header_nm": "승인 의견",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "reject_content",
"header_nm": "반려 의견",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approval_state",
"header_nm": "결재 상태",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "topgroup_id",
"header_nm": "소속 회사 아이디",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "topgroup_name",
"header_nm": "소속 회사 이름",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approvalstead_num",
"header_nm": "대결자 정보 번호",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approvalstead_id",
"header_nm": "대결자 아이디",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approvalstead_name",
"header_nm": "대결자 이름",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "appr_info_send",
"header_nm": "결재 정보 전송 여부",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "lateapproval_flag",
"header_nm": "후결",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "viewcount",
"header_nm": "열람 횟수",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "notifyinfo",
"header_nm": "알림 메시지 전송기록",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approval_step",
"header_nm": "진행 중인 결재 단계",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approval_laststep",
"header_nm": "최종 결재 단계",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "privatedata_count",
"header_nm": "개인정보 포함건수",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_type",
"header_nm": "외부 시스템 정책 타입",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_period",
"header_nm": "외부 시스템 권한 사용 기간",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_expiredate",
"header_nm": "외부 시스템 권한 사용 만료일",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_cancel",
"header_nm": "외부 시스템 권한 회수 여부",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare1",
"header_nm": "예비 컬럼1",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare2",
"header_nm": "예비 컬럼2",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare3",
"header_nm": "예비 컬럼3",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare4",
"header_nm": "예비 컬럼4",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare5",
"header_nm": "예비 컬럼5",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "sendmail_use",
"header_nm": "메일 발송 타입",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_startdate",
"header_nm": "외부 시스템 권한 사용 시작일",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "group_id",
"header_nm": "부서아이디",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "group_name",
"header_nm": "부서 이름",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "extdrm_use",
"header_nm": "외부 DRM 사용 여부",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "group_path",
"header_nm": "부서 경로",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "useraccess_ip",
"header_nm": "작성자 IP",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "external_logid",
"header_nm": "망연계 처리결과 코드",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extra_info",
"header_nm": "기타정보",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
}
],
"en": [
{
"header_id": "num",
"header_nm": "Approval Number",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "user_id",
"header_nm": "User ID",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "user_name",
"header_nm": "User Name",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "write_date",
"header_nm": "Write Date",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approval_id",
"header_nm": "Approver ID",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approval_name",
"header_nm": "Approver Name",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approval_time",
"header_nm": "Approval Date",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approval_type",
"header_nm": "Export Type Code",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approvl_type_name",
"header_nm": "Export Type Name",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "title",
"header_nm": "Title",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "destination",
"header_nm": "Destination",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "content",
"header_nm": "Reason",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "encrypt_type",
"header_nm": "Encrypt Type",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "encrypt_type_name",
"header_nm": "Encrypt Type Name",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "encrypt_policy",
"header_nm": "Encrypt Policy",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "download_enddate",
"header_nm": "Download Expire Date",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "download_count",
"header_nm": "Download Count",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "filecount",
"header_nm": "File Count",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "uploadfile_name",
"header_nm": "File Name",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "uploadfile_size",
"header_nm": "File Size",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "conform_content",
"header_nm": "Approval Comments",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "reject_content",
"header_nm": "Rejection Comments",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approval_state",
"header_nm": "Approval State",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "topgroup_id",
"header_nm": "Company ID",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "topgroup_name",
"header_nm": "Company Name",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approvalstead_num",
"header_nm": "Stead Num",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approvalstead_id",
"header_nm": "Stead ID",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approvalstead_name",
"header_nm": "Stead Name",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "appr_info_send",
"header_nm": "Approval Info Send",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "lateapproval_flag",
"header_nm": "Pre Approved",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "viewcount",
"header_nm": "View Count",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "notifyinfo",
"header_nm": "Notification Send",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approval_step",
"header_nm": "Approval Step",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approval_laststep",
"header_nm": "Final Approval Step",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "privatedata_count",
"header_nm": "Personal Information Count",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_type",
"header_nm": "External System Policy Type",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_period",
"header_nm": "External System Authority Usage Period",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_expiredate",
"header_nm": "External System Authority Usage Expire Date",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_cancel",
"header_nm": "External System Authority Remove",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare1",
"header_nm": "Spare Column 1",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare2",
"header_nm": "Spare Column 2",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare3",
"header_nm": "Spare Column 3",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare4",
"header_nm": "Spare Column 4",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare5",
"header_nm": "Spare Column 5",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "sendmail_use",
"header_nm": "Send Email",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_startdate",
"header_nm": "External System Authority Usage Start Date",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "group_id",
"header_nm": "Group ID",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "group_name",
"header_nm": "Group Name",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "extdrm_use",
"header_nm": "External DRM",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "group_path",
"header_nm": "Group Path",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "useraccess_ip",
"header_nm": "Access IP",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "external_logid",
"header_nm": "Result Code",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extra_info",
"header_nm": "Extra Info",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
}
],
"ja": [
{
"header_id": "num",
"header_nm": "承認番号",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "user_id",
"header_nm": "ユーザーID",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "user_name",
"header_nm": "ユーザー名",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "write_date",
"header_nm": "作成日",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approval_id",
"header_nm": "承認者ID",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approval_name",
"header_nm": "承認者名",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approval_time",
"header_nm": "承認完了時間",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approval_type",
"header_nm": "輸出タイプコード",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approvl_type_name",
"header_nm": "輸出タイプ名",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "title",
"header_nm": "題名",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "destination",
"header_nm": "輸出先",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "content",
"header_nm": "輸出理由",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "encrypt_type",
"header_nm": "リクエスト方法コード",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "encrypt_type_name",
"header_nm": "リクエスト方法名",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "encrypt_policy",
"header_nm": "暗号化ポリシー",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "download_enddate",
"header_nm": "ダウンロード期限",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "download_count",
"header_nm": "ダウンロード回数",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "filecount",
"header_nm": "ファイル数",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "uploadfile_name",
"header_nm": "ファイル名",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "uploadfile_size",
"header_nm": "ファイルサイズ",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "conform_content",
"header_nm": "承認コメント",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "reject_content",
"header_nm": "却下コメント",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approval_state",
"header_nm": "承認状態",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "topgroup_id",
"header_nm": "所属会社ID",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "topgroup_name",
"header_nm": "所属会社名",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approvalstead_num",
"header_nm": "代理者情報番号",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approvalstead_id",
"header_nm": "代理者ID",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "approvalstead_name",
"header_nm": "代理者名",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "appr_info_send",
"header_nm": "承認情報送信有無",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "lateapproval_flag",
"header_nm": "後決",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "viewcount",
"header_nm": "閲覧回数",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "notifyinfo",
"header_nm": "通知メッセージ送信履歴",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approval_step",
"header_nm": "進行中の承認段階",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "approval_laststep",
"header_nm": "最終承認段階",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "privatedata_count",
"header_nm": "個人情報含有件数",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_type",
"header_nm": "外部システムポリシータイプ",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_period",
"header_nm": "外部システム権限使用期間",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_expiredate",
"header_nm": "外部システム権限使用期限切れ日",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_cancel",
"header_nm": "外部システム権限回収有無",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare1",
"header_nm": "予備カラム1",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare2",
"header_nm": "予備カラム2",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare3",
"header_nm": "予備カラム3",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare4",
"header_nm": "予備カラム4",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "spare5",
"header_nm": "予備カラム5",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "sendmail_use",
"header_nm": "メール送信タイプ",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extendapproval_startdate",
"header_nm": "外部システム権限使用開始日",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "group_id",
"header_nm": "部署ID",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "group_name",
"header_nm": "部署名",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "extdrm_use",
"header_nm": "外部DRM使用有無",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "group_path",
"header_nm": "グループパス",
"ui_hide_yn": "N",
"excel_hide_yn": "N"
},
{
"header_id": "useraccess_ip",
"header_nm": "投稿者IP",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "external_logid",
"header_nm": "ネットワーク連携処理結果コード",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
},
{
"header_id": "extra_info",
"header_nm": "その他情報",
"ui_hide_yn": "Y",
"excel_hide_yn": "Y"
}
]
}
}

4.2. logtype json 파일 : 설치위치/LogViewer/data/logViewer/JSON/logtype/amslog_info.json

logtype경로의 json파일 내용
{
"amslog_info": {
"ko": [
{
"logtype_id": "D",
"logtype_name": "암호화 해제"
},
{
"logtype_id": "S",
"logtype_name": "외부전송 파일"
},
{
"logtype_id": "SW",
"logtype_name": "외부반출"
},
{
"logtype_id": "EX",
"logtype_name": "외부DRM(Ex-Right)"
},
{
"logtype_id": "SC0001",
"logtype_name": "스크린 워터마킹 해제"
},
{
"logtype_id": "SC0002",
"logtype_name": "프린트 워터마킹 해제"
},
{
"logtype_id": "SC0003",
"logtype_name": "클라이언트 삭제 권한 요청"
},
{
"logtype_id": "SC0007",
"logtype_name": "스크린 워터마킹 예외 기간 설정"
},
{
"logtype_id": "SC0008",
"logtype_name": "프린트 마킹 예외 기간 설정"
},
{
"logtype_id": "SC0009",
"logtype_name": "보안 USB 파일 반출"
},
{
"logtype_id": "SC0010",
"logtype_name": "캡쳐 툴 제한 예외 설정"
}
],
"en": [
{
"logtype_id": "D",
"logtype_name": "Decryption"
},
{
"logtype_id": "S",
"logtype_name": "Security file"
},
{
"logtype_id": "SW",
"logtype_name": "External export"
},
{
"logtype_id": "EX",
"logtype_name": "External DRM(Ex-Right)"
},
{
"logtype_id": "SC0001",
"logtype_name": "Screen watermark unmarking"
},
{
"logtype_id": "SC0002",
"logtype_name": "Print watermark unmarking"
},
{
"logtype_id": "SC0003",
"logtype_name": "Document security delete permission"
},
{
"logtype_id": "SC0007",
"logtype_name": "Screen watermarking exception period"
},
{
"logtype_id": "SC0008",
"logtype_name": "Print marking exception period"
},
{
"logtype_id": "SC0009",
"logtype_name": "Secure USB file export"
},
{
"logtype_id": "SC0010",
"logtype_name": "Capture tool restriction exception"
}
],
"ja": [
{
"logtype_id": "D",
"logtype_name": "暗号化解除"
},
{
"logtype_id": "S",
"logtype_name": "外部転送ファイル"
},
{
"logtype_id": "SW",
"logtype_name": "外部搬出"
},
{
"logtype_id": "EX",
"logtype_name": "外部DRM(Ex-Right)"
},
{
"logtype_id": "SC0001",
"logtype_name": "スクリーンウォーターマーキング解除"
},
{
"logtype_id": "SC0002",
"logtype_name": "プリントウォーターマーキング解除"
},
{
"logtype_id": "SC0003",
"logtype_name": "クライアントの削除権限要請"
},
{
"logtype_id": "SC0007",
"logtype_name": "スクリーン透かし例外期間の設定"
},
{
"logtype_id": "SC0008",
"logtype_name": "プリントマーキング例外期間の設定"
},
{
"logtype_id": "SC0009",
"logtype_name": "セキュアUSBファイルのエクスポート"
},
{
"logtype_id": "SC0010",
"logtype_name": "キャプチャツール制限例外設定"
}
]
}
}

5. war파일 패치

5.1. 톰캣 중지 및 백업

5.1.1. /설치위치/LogViewer/app/tomcat9.0/ 이동

cd /설치위치/LogViewer/app/tomcat9.0/

5.1.2. ./tomcat_stop.sh 실행

./tomcat_stop.sh

5.1.3. /설치위치/LogViewer/app/tomcat9.0/webapps/LogViewer.war 파일을 LogViewer.war_년월일로 변경

cp LogViewer.war LogViewer.war_$(date +%Y%m%d)

5.1.4. /설치위치/LogViewer/app/tomcat9.0/webapps/LogViewer 폴더 또는 리네임 삭제

mv LogViewer LogViewer_$(date +%Y%m%d)

5.1.5. /설치위치/LogViewer/app/tomcat9.0/work/Catalina 폴더 삭제(백업 필요 없음)

rm -r -f ../work/Catalina/

5.2. 최신 war패치 및 톰캣 시작

5.2.1. 최신 ams.war 파일을 /설치위치/LogViewer/app/tomcat9.0/webapps 에 업로드

5.2.2. 톰캣 시작

cd /설치위치/LogViewer/app/tomca9.0/
./tomcat_stop.sh